A Scheme expression is a construct that returns a value, such as a variable reference, literal, procedure call, or conditional.
Expression types are categorized as primitive or derived.
Primitive expression types include variables and procedure calls.
Derived expression types are not semantically primitive, but can instead
be explained in terms of the primitive constructs as in
section . They are redundant in the strict sense of
the word, but they capture common patterns of usage, and are therefore
provided as convenient abbreviations.